Often, Internet service providers (ISPs) debug modem problems. It is desirable that, while the access server is in operation, customer engineers (CEs), system engineers (SEs) and/or customers are able to debug a modem problem without interrupting the service. Different modem allocation schemes exist. For example, on Cisco Systems, Inc.""s access servers, based on the allocation algorithm, the next modem in the queue is allocated to answer the call. This makes it difficult to debug the issue as it is unknown or difficult to predict in a heavily loaded access server which modem will be picked up next for answering the call. One known way to debug a modem problem is to busy-out all modems or at least all modems on a particular modem board and then to test each modem seriatim. Unfortunately, this approach can disrupt service for an undesirably long time.
The invention is a fault isolation method and apparatus for use in a network access server. The method includes allocating one or more modems in a group of modems associated with an access server to a debug modem pool; allocating one or more remaining modems in the group to a session modem pool; thereafter determining whether an incoming call to the access server meets predefined fault isolation criteria; and, if so, then allocating a debug modem from the debug modem pool to the incoming call and initiating a fault isolation session; and if not, then allocating a session modem from the session modem pool to the incoming call and proceeding with a normal session. Preferably, the defined criteria include at least one match between one or more user attributes associated with the incoming call and one or more corresponding fault isolation session attributes stored within the network access server. The criteria themselves may be configurable, e.g. definable by the user. User attributes may include one or more of username, calling number (ANI) and called number (DNIS). The apparatus implements the method, preferably in the form of computer-readable software instructions residing in a memory and executed by a processor.